package com.sz.app.oss.api.logistics.billing.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Function: ServiceCalcDto. <br>
 * Date: 2017年05月05日 16:16 <br>
 * Author: wentao.chang
 */
public class ProductCalcDto implements Serializable {

    private int customerId;

    private List<Integer> groupType;

    private String productUid;

    private Date calcDate;

    /**
     * 订单计费 总重
     */
    private BigDecimal weight;

    /**
     * 订单计费 重量单位
     */
    private String unitCode;

    /**
     * 订单计费 声明价值
     */
    private BigDecimal announcePrice = BigDecimal.ZERO;

    /**
     * 订单计费 可选的服务类型
     */
    private List<String> optionServiceTypes=new ArrayList<>();

    /**
     * 订单计费 揽收的国家
     */
    private String fetchCountry;

    /**
     * 订单计费 揽收的省份
     */
    private String fetchProvince;

    /**
     * 订单计费 揽收的城市
     */
    private String fetchCity;
    /**
     * 订单计费 揽收的区
     */
    private String fetchArea;

    /**
     * 订单计费 揽收的街道
     */
    private String fetchStreet;

    /**
     * 订单计费 揽收的邮编
     */
    private String fetchPostcode;

    /**
     * 多件货计费
     */
    private List<PackageWeightDto> packages;

    /**
     * 货物类型
     */
    private String cargoTypeCode;


    /**
     * 发件人的国家
     */
    private String fromCountry;

    /**
     * 发件人的省份
     */
    private String fromProvince;

    /**
     * 发件人的城市
     */
    private String fromCity;
    /**
     * 发件人的区
     */
    private String fromArea;

    /**
     * 发件人的街道
     */
    private String fromStreet;

    /**
     * 发件人的邮编
     */
    private String fromPostcode;

    /**
     * 收件人的国家
     */
    private String toCountry;

    /**
     * 收件人的省份
     */
    private String toProvince;

    /**
     * 收件人的城市
     */
    private String toCity;
    /**
     * 收件人的城市
     */
    private String toArea;

    /**
     * 收件人的街道
     */
    private String toStreet;

    /**
     * 收件人的邮编
     */
    private String toPostcode;
    private int domainId;

    private int startPort;
    private int endPort;

    public String getCargoTypeCode() {
        return cargoTypeCode;
    }

    public void setCargoTypeCode(String cargoTypeCode) {
        this.cargoTypeCode = cargoTypeCode;
    }

    public String getFromCountry() {
        return fromCountry;
    }

    public void setFromCountry(String fromCountry) {
        this.fromCountry = fromCountry;
    }

    public String getFromProvince() {
        return fromProvince;
    }

    public void setFromProvince(String fromProvince) {
        this.fromProvince = fromProvince;
    }

    public String getFromCity() {
        return fromCity;
    }

    public void setFromCity(String fromCity) {
        this.fromCity = fromCity;
    }

    public String getFromStreet() {
        return fromStreet;
    }

    public void setFromStreet(String fromStreet) {
        this.fromStreet = fromStreet;
    }

    public String getFromPostcode() {
        return fromPostcode;
    }

    public void setFromPostcode(String fromPostcode) {
        this.fromPostcode = fromPostcode;
    }

    public String getToCountry() {
        return toCountry;
    }

    public void setToCountry(String toCountry) {
        this.toCountry = toCountry;
    }

    public String getToProvince() {
        return toProvince;
    }

    public void setToProvince(String toProvince) {
        this.toProvince = toProvince;
    }

    public String getToCity() {
        return toCity;
    }

    public void setToCity(String toCity) {
        this.toCity = toCity;
    }

    public String getToStreet() {
        return toStreet;
    }

    public void setToStreet(String toStreet) {
        this.toStreet = toStreet;
    }

    public String getToPostcode() {
        return toPostcode;
    }

    public void setToPostcode(String toPostcode) {
        this.toPostcode = toPostcode;
    }

    public Date getCalcDate() {
        return calcDate;
    }

    public void setCalcDate(Date calcDate) {
        this.calcDate = calcDate;
    }

    public String getFromArea() {
        return fromArea;
    }

    public void setFromArea(String fromArea) {
        this.fromArea = fromArea;
    }

    public String getToArea() {
        return toArea;
    }

    public void setToArea(String toArea) {
        this.toArea = toArea;
    }

    public List<PackageWeightDto> getPackages() {
        return packages;
    }

    public void setPackages(List<PackageWeightDto> packages) {
        this.packages = packages;
    }

    public int getCustomerId() {
        return customerId;
    }

    public void setCustomerId(int customerId) {
        this.customerId = customerId;
    }

    public String getProductUid() {
        return productUid;
    }

    public void setProductUid(String productUid) {
        this.productUid = productUid;
    }

    public List<Integer> getGroupType() {
        return groupType;
    }

    public void setGroupType(List<Integer> groupType) {
        this.groupType = groupType;
    }

    public int getDomainId() {
        return domainId;
    }

    public void setDomainId(int domainId) {
        this.domainId = domainId;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getUnitCode() {
        return unitCode;
    }

    public void setUnitCode(String unitCode) {
        this.unitCode = unitCode;
    }

    public BigDecimal getAnnouncePrice() {
        return announcePrice;
    }

    public void setAnnouncePrice(BigDecimal announcePrice) {
        this.announcePrice = announcePrice;
    }

    public String getFetchCountry() {
        return fetchCountry;
    }

    public void setFetchCountry(String fetchCountry) {
        this.fetchCountry = fetchCountry;
    }

    public String getFetchProvince() {
        return fetchProvince;
    }

    public void setFetchProvince(String fetchProvince) {
        this.fetchProvince = fetchProvince;
    }

    public String getFetchCity() {
        return fetchCity;
    }

    public void setFetchCity(String fetchCity) {
        this.fetchCity = fetchCity;
    }

    public String getFetchArea() {
        return fetchArea;
    }

    public void setFetchArea(String fetchArea) {
        this.fetchArea = fetchArea;
    }

    public String getFetchStreet() {
        return fetchStreet;
    }

    public void setFetchStreet(String fetchStreet) {
        this.fetchStreet = fetchStreet;
    }

    public String getFetchPostcode() {
        return fetchPostcode;
    }

    public void setFetchPostcode(String fetchPostcode) {
        this.fetchPostcode = fetchPostcode;
    }

    public List<String> getOptionServiceTypes() {
        return optionServiceTypes;
    }

    public void setOptionServiceTypes(List<String> optionServiceTypes) {
        this.optionServiceTypes = optionServiceTypes;
    }

    public int getStartPort() {
        return startPort;
    }

    public void setStartPort(int startPort) {
        this.startPort = startPort;
    }

    public int getEndPort() {
        return endPort;
    }

    public void setEndPort(int endPort) {
        this.endPort = endPort;
    }
}
